It is sometimes useful to emulate the operation of one database system, i.e., a target database system, on a test database system. Such emulations can be helpful in troubleshooting the processing of requests, i.e., queries and utilities, and in testing proposed hardware or software changes without interrupting operations on the target database system.
The test database system often uses an optimizer to generate parallel query plans or strategies for executing a request and then to select the plan to execute. Such optimizers often use table statistics, which are typically stored in a data dictionary, in their analysis. One conventional approach for providing such data to an optimizer in a test database system is to extract table statistics from the target database system's data dictionary, store the table statistics in the test database system's data dictionary, and run the emulation on the test database system. Using such an approach when the test system is being used to emulate more than one target database system is a challenge especially when there are many users logged on to the test system.